package day03.io;
//JAVA将流分为两类:
//节点流和处理流
//节点流也称为低级流,是真实链接程序与另一端的管道.读写一定是建立在节点流的基础上
//进行的.比如文件流就是节点流

//处理流也称为高级流,是不能独立存在的,必须连接在其它流上,目的是当数据流经它时对
//数据进行某些加工处理,简化我们的同等操作.

import java.io.*;

//实际开发中我们经常会串联一组高级流并最终连接到低级流上,是的读写数据以流水线式的
//加工处理来完成.这个操作称为"流的连接"
/*
缓冲流
java.io.BUfferedInputStream和BufferedOutputStream
缓冲流是一对高级流，作用是加快读写效率
*/
public class BosDemo {
    public static void main(String[] args) throws IOException {
        FileInputStream fis=new FileInputStream("ppt.pptx");
        BufferedInputStream bis=new BufferedInputStream(fis);
        FileOutputStream fos=new FileOutputStream("ppt_cp1.pptx");
        BufferedOutputStream bos=new BufferedOutputStream(fos);
        int d;
        long start =System.currentTimeMillis();
        while ((d=bis.read())!=-1){
            bos.write(d);
        }
        long end =System.currentTimeMillis();
        System.out.println("复制完毕,耗时:"+(end-start));
        bis.close();
        bos.close();
    }
}
